home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 051-075 / disk_052 / tek4010 / menupick.c < prev    next >
C/C++ Source or Header  |  1992-05-06  |  4KB  |  138 lines

  1. /* This file contains the function that is responsible for the
  2.  * choice from the menus. This code was extracted from DW's VT100
  3.  * emulation's main() function.
  4.  * T.Whelan Oct 1986
  5.  */
  6.  
  7. /*  all includes defines and globals */
  8. #include "vt100.h"
  9.  
  10. extern int XMODEM_Send_File(), XMODEM_Read_File(), doksend(), dokreceive();
  11. menupick(code)
  12. int code;
  13. {
  14. int menunum, itemnum;
  15.  
  16.      menunum = MENUNUM( code );
  17.      itemnum = ITEMNUM( code );
  18.      switch( menunum )
  19.          {
  20.          case 0:
  21.          switch( itemnum )
  22.              {
  23.              case 0:
  24.                do_capture(NULL);
  25.              break;
  26.              case 1:
  27.                do_send(NULL);
  28.              break;
  29.              case 2:
  30.                emits("\nXmodem Receive:");
  31.                filename(name);
  32.                multi_xfer(name,XMODEM_Read_File,0);
  33.              break;
  34.              case 3:
  35.                emits("\nXmodem Send:");
  36.                filename(name);
  37.                multi_xfer(name,XMODEM_Send_File,1);
  38.              break;
  39.              case 4:
  40.                server = TRUE;
  41.                itemnum = 5;
  42.              case 5:
  43.                emits("\nKermit Receive local name:");
  44.                filename(name);
  45.                multi_xfer(name,dokreceive,0);
  46.              break;
  47.              case 6:
  48.                server = TRUE;
  49.                emits("\nKermit Send local name:");
  50.                filename(name);
  51.                multi_xfer(name,doksend,1);
  52.              break;
  53.              case 7:
  54.                saybye();
  55.              break;
  56.              }
  57.          break;
  58.  
  59.          case 1:
  60.          AbortIO(Read_Request);
  61.          switch( itemnum )
  62.              {
  63.              case 0:
  64.                Read_Request->io_Baud = 300;
  65.              break;
  66.              case 1:
  67.                Read_Request->io_Baud = 1200;
  68.              break;
  69.              case 2:
  70.                Read_Request->io_Baud = 2400;
  71.              break;
  72.              case 3:
  73.                Read_Request->io_Baud = 4800;
  74.              break;
  75.              case 4:
  76.                Read_Request->io_Baud = 9600;
  77.          break;
  78.          case 5:
  79.            Read_Request->io_Baud = 19200;
  80.              break;
  81.              }
  82.          Read_Request->IOSer.io_Command = SDCMD_SETPARAMS;
  83.          DoIO(Read_Request);
  84.          Read_Request->IOSer.io_Command = CMD_READ;
  85.          BeginIO(Read_Request);
  86.          break;
  87.  
  88.          case 2:
  89.          p_mode = itemnum;
  90.          break;
  91.  
  92.          case 3:
  93.          if (!itemnum && !script_on) {
  94.              emits("Script file name: ");
  95.              filename(name);
  96.              script_start(name);
  97.              }
  98.          if (itemnum && script_on) {
  99.              exit_script();
  100.              }
  101.          break;
  102.          case 4: /* screen selection */
  103.             switch(itemnum) {
  104.             case 0:
  105.                 doremote(24); /* force VT100 mode */
  106.             break;
  107.             case 1:
  108.                 doremote(29);
  109.                 doremote(31); /* use alpha mode */
  110.              break;
  111.              case 2: /* reset and clear screens */
  112.                 doremote(24);
  113.                 doremote(29); /* tek screen */
  114.                 doremote(27);
  115.                 doremote(12);
  116.                 doremote(24); /* vt100 screen */
  117.                 doremote(27);
  118.                 doremote('c');
  119.              break;
  120.          }
  121.           break;
  122.           case 5: /* about or quit */
  123.             switch(itemnum) {
  124.             case 0:
  125.                    KeepGoing = FALSE;
  126.             break;
  127.             case 1:
  128.                 about();
  129.              break;
  130.          }
  131.          break;
  132.          case 6:
  133.             TekScale = itemnum;
  134.          break;
  135.          
  136.          } /* end of switch ( menunum ) */
  137. }
  138.